package tirateima.controlador;

import java.util.ArrayList;
import java.util.Stack;

import tirateima.gui.Principal;


/**
 * Comando utilizado para definir a divisão das telas a partir do roteiro
 * 
 * @author fernando
 */
public class CommandVerticalDivision extends Command {
	
	//Proporção referente ao painel de código
	private Float left_proportion;
	//Proporção referente ao outro painel, que inclui (mostrador, ga, console...)
	private Float right_proportion;
	
	
	Stack<Float> valores_antigos = new Stack<Float>();
	
	public CommandVerticalDivision(String left_prop, String right_prop){
		this.left_proportion = Float.valueOf(left_prop);
		this.right_proportion = Float.valueOf(right_prop);
	}
	
	@Override
	public void execute(Controlador c) throws TiraTeimaLanguageException {
		if (left_proportion+right_proportion == 1.0f) {
			Principal principal = Principal.getInstance();
			valores_antigos.push(principal.getCodeTabProportion());
			principal.setCodeTabProportion(left_proportion);
			principal.setVerticalDivisionFloat();
		}
	}
	
	@Override
	public void revert(Controlador c) throws TiraTeimaLanguageException,
			ExecutionException {
		Float anterior = valores_antigos.pop();
		Principal principal = Principal.getInstance();
		principal.setCodeTabProportion(anterior);
		principal.setVerticalDivision();
		
	}

}
